/*
 * 文  件  名：ContryService.java
 * 版         权：Copyright©2013-2016 FuRongBao All Rights Reserved
 * 描         述：
 * 修  改  人：mq.zhang
 * 修改时间：2016年9月9日
 */
package com.mqzhang.demo.service;

import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.github.pagehelper.PageHelper;
import com.mqzhang.demo.dao.DemoDao;
import com.mqzhang.demo.entity.TbTest;

/**
 * 服务层
 * 
 * @author mq.zhang
 * @version V1.0 2016年9月9日
 */
@Service("service")
public class DemoService {

    @Autowired
    private DemoDao dao;

    /**
     * 查询服务
     * 
     * @author mq.zhang
     * @param pageNum 分页
     * @return
     */
    public List<TbTest> selectEntry(String pageNum) {
        PageHelper.startPage(checkPageNum(pageNum), 10);
        return dao.selectEntry();
    }

    /**
     * 对Exception回滚
     * 
     * @author mq.zhang
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public void doSaveRollback() throws Exception {
        TbTest ts = new TbTest();
        ts.setName(UUID.randomUUID().toString().replaceAll("-", "").substring(0, 15));
        dao.save(ts);
        throw new Exception("rollback order!");
    }

    /**
     * 分页校验
     * 
     * @author mq.zhang
     * @param pageNum
     * @return
     */
    private final int checkPageNum(String pageNum) {
        if (pageNum == null || pageNum.trim().length() == 0) {
            return 1;
        }
        try {
            return Integer.valueOf(pageNum);
        } catch (Exception ex) {
            return 1;
        }

    }
}
